package com.syh.jn.scm.service.api.supplier.finance;

import com.syh.jn.scm.dto.supplier.finance.statementAccountBill.StatementAccountBillItemVo;
import com.syh.jn.scm.dto.supplier.finance.statementAccountBill.StatementAccountBillMto;
import com.syh.jn.scm.dto.supplier.finance.statementAccountBill.StatementAccountBillSto;
import com.syh.jn.scm.dto.supplier.finance.statementAccountBill.StatementAccountBillVo;
import com.syh.jn.scm.dto.support.FilesDto;
import com.syh.jn.scm.service.core.BaseService;

import java.util.List;

public interface StatementAccountBillService extends BaseService<StatementAccountBillSto, StatementAccountBillMto, StatementAccountBillVo, Long> {
  /**
   * 业务确认
   *
   * @param id
   */
  public void businessConfirmation(Long id);

  /**
   * 业务取消确认
   *
   * @param id
   */
  public void businessCancelConfirmation(Long id);

  /**
   * 财务确认
   *
   * @param id
   */
  public void financeConfirmation(Long id);

  /**
   * 财务取消确认
   *
   * @param id
   */
  public void financeCancelConfirmation(Long id);

  /**
   * 上传单据图片
   *
   * @param dto
   */
  public void uploadImg(FilesDto dto);

  /**
   * 根据对账单id获取明细
   *
   * @param statementId 对账单id
   * @return
   */
  public List<StatementAccountBillItemVo> getItemsByStatementId(Long statementId);
}
